#include "DataStructure/Input/Property/PSOLIDData.h"

#include "DataStructure/Common/Validation.h"

bool SG::DataStructure::FEM::operator== (const PSOLIDData &a, const PSOLIDData &b)
{
    if (a.m_id != b.m_id)
    {
        return false;
    }
    if (a.m_mId != b.m_mId)
    {
        return false;
    }
    if (a.m_mCId != b.m_mCId)
    {
        return false;
    }
    if (!SG::DataStructure::Common::isEQ (a.m_in, b.m_in))
    {
        return false;
    }
    if (!SG::DataStructure::Common::isEQ (a.m_stress, b.m_stress))
    {
        return false;
    }
    if (!SG::DataStructure::Common::isNear (a.m_fctn[0], b.m_fctn[0]))
    {
        return false;
    }
    if (!SG::DataStructure::Common::isNear (a.m_fctn[1], b.m_fctn[1]))
    {
        return false;
    }
    if (!SG::DataStructure::Common::isNear (a.m_fctn[2], b.m_fctn[2]))
    {
        return false;
    }
    if (!SG::DataStructure::Common::isNear (a.m_fctn[3], b.m_fctn[3]))
    {
        return false;
    }
    if (a.m_domainId != b.m_domainId)
    {
        return false;
    }
    return true;
}